home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / serien / purity / nr.42 / includes3v1 / includes3v1.lha / Exec / Interrupts.i < prev    next >
Text File  |  1994-12-04  |  1KB  |  74 lines

  1. {
  2.     Interrupts.i for PCQ Pascal
  3. }
  4.  
  5. {$I "Include:Exec/Nodes.i"}
  6. {$I "Include:Exec/Lists.i"}
  7.  
  8. type
  9.     Interrupt = record
  10.         is_Node : Node;
  11.         is_Data : Address;      { Server data segment }
  12.         is_Code : Address;      { Server code entry }
  13.     end;
  14.     InterruptPtr = ^Interrupt;
  15.  
  16.     IntVector = record          { For EXEC use ONLY! }
  17.         iv_Data : Address;
  18.         iv_Code : Address;
  19.         iv_Node : NodePtr;
  20.     end;
  21.     IntVectorPtr = ^IntVector;
  22.  
  23.     SoftIntList = record        { For EXEC use ONLY! }
  24.         sh_List : List;
  25.         sh_Pad  : Short;
  26.     end;
  27.     SoftIntListPtr = ^SoftIntList;
  28.  
  29. const
  30.     SIH_PRIMASK = $F0;
  31.  
  32. { this is a fake INT definition, used only for AddIntServer and the like }
  33.  
  34.     INTB_NMI    = 15;
  35.     INTF_NMI    = $0080;
  36.  
  37.  
  38. Procedure AddIntServer(intNum : Integer; Int : InterruptPtr);
  39.     external;
  40.  
  41. Procedure Cause(Int : InterruptPtr);
  42.     external;
  43.  
  44. Procedure Disable;
  45.     External;
  46.  
  47. Procedure Enable;
  48.     External;
  49.  
  50. Procedure Forbid;
  51.     external;
  52.  
  53. Procedure Permit;
  54.     external;
  55.  
  56. Procedure RemIntServer(intNum : Integer; Int : InterruptPtr);
  57.     external;
  58.  
  59. Function SetIntVector(intNum : Integer; Int : InterruptPtr) : InterruptPtr;
  60.     external;
  61.  
  62. Function SuperState() : Address;
  63.     external;
  64.  
  65. Procedure UserState(s : Address);
  66.     external;
  67.  
  68. { V3.0+ }
  69. {------ Function to attempt to obtain a Quick Interrupt Vector...}
  70. FUNCTION ObtainQuickVector(interruptCode : Address) : Integer;
  71.     External;
  72.  
  73.  
  74.